package com.example.tliaswebmanagement.mapper;

import com.example.tliaswebmanagement.entity.Clazz;
import com.example.tliaswebmanagement.entity.Emp;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

@Mapper
public interface EmpMapper {
    /*//1.不采用分页差选插件进行分页查询
    Long count();
    List<Emp> findAll(Integer start,Integer pageSize);*/

    //2.采用分页查询插件PageHelper开发分页查询
    List<Emp> findAll(String name, Short gender, LocalDate begin, LocalDate end);

    //插入员工基本信息
    void insert(Emp emp);

    //批量删除员工
    void deleteById(List<Integer> ids);

    //修改员工时的数据回显
    Emp getInfoById(Integer id);
    //修改员工，更新员工
    void update(Emp emp);

    /**
     * 统计各个职位的员工人数
     */
    @MapKey("pos")//不加会报错，加了不加都一样，
    List<Map<String,Object>> countEmpJobData();
    /**
     * 统计员工性别信息
     */
    @MapKey("name")
    List<Map<String,Object>> countEmpGenderData();

    //获取全部员工信息
    @Select("select * from emp")
    List<Emp> getAll();

    //获取员工用户名和密码
    @Select("select * from emp where username=#{username} and password=#{password}")
    Emp getEmpByUsernameAndPassword(Emp emp);
}
